package com.ilink.teacherservice.service.videoTranscription;


import com.ilink.ilinkcommon.domain.PO.studyservice.FileTranscriptionTaskResponse;
import java.util.List;


public interface FileTranscriptionService {
    /**
     *
     * @Author Ziyan Ma
     * @Description 创建音视频离线转写任务
     * @Param fileUrl 音视频生成的Url
     * @Param diarizationEnabled 是否开启说话人分离功能
     * @Param speakerCount 如果diarizationEnabled为true,设置说话人分离参数, 0：说话人角色区分结果为不定人数。2：说话人角色区分结果为 2 人。
     * @Param translationEnabled 是否启用翻译功能。
     * @Param language 翻译语言 支持以下取值： cn：中文 en：英文 ja：日文
     * @return json响应
     **/
    FileTranscriptionTaskResponse createFileTransTask(String filePath,
                                                      boolean diarizationEnabled,
                                                      int speakerCount,
                                                      boolean translationEnabled,
                                                      List<String> language) ;
    /**
     *
     * @Author Ziyan Ma
     * @Description 通过taskId查询当前任务状态以及转换结果，
     *              并将输出文件转存到oss服务器上，
     *              其中路径基于源音视频路径修改
     * @Param taskId 任务Id
     * @Param sourcePath 源音视频文件路径
     * @return FileTranscriptionTaskResponse 响应
     **/
    FileTranscriptionTaskResponse getFileTransInfo(String TaskId, String SourcePath);

    /**
     *
     * @Description 将数据表中mp3路径为转移文件后的路径
     * @Param taskId 任务Id
     * @Param tarDir 转移到的目录
     * @return true 修改成功 / false修改失败
     **/
    boolean modifyFileTransInfoPath(String TaskId, String TarDir);
}
